package com.zhoug.player.exoplayer.v2;

import android.net.Uri;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.media3.common.MediaItem;

/**
 * @author: zhoug
 * @since: 2025-06-25
 */
public class ZMediaItemBuilder {
    private final MediaItem.Builder mBuilder;


    public ZMediaItemBuilder() {
        mBuilder = new MediaItem.Builder();
    }

    /**
     * 实时播放配置
     *
     * @param liveConfiguration 实时播放配置
     */
    public ZMediaItemBuilder setLiveConfiguration(@NonNull MediaItem.LiveConfiguration liveConfiguration) {
        mBuilder.setLiveConfiguration(liveConfiguration);
        return this;
    }

    /**
     * 播放视频地址
     *
     * @param uri 播放视频地址
     */
    public ZMediaItemBuilder setUri(@Nullable String uri) {
        mBuilder.setUri(uri);
        return this;
    }

    /**
     * 播放视频地址
     *
     * @param uri 播放视频地址
     */
    public ZMediaItemBuilder setUri(@Nullable Uri uri) {
        mBuilder.setUri(uri);
        return this;
    }

    /**
     * 设置可选的MIME类型
     * MIME类型可以用作推断媒体项目类型的提示
     *
     * @param mimeType 可选的MIME类型
     */
    public ZMediaItemBuilder setMimeType(@Nullable String mimeType) {
        mBuilder.setMimeType(mimeType);
        return this;
    }


    public MediaItem.Builder build() {
        return mBuilder;
    }


}
